package src.A_JavaBase;

public class Oop1Animal {

    String s1 = "我是你爹";
    private String s2 = "这是你爹我私有的钱";
    static String s3 = "爹的静态字段";
    static final String s4 = "爹的常量静态字段";

    public Oop1Animal(){
        System.out.println("爹的无参构造");
    }

    static {
        System.out.println("爹的静态代码块");
    }

    {
        System.out.println("爹的构造代码块");
    }

    /*
    重写都是方法的重写，与属性无关
    只有子父类才会出现重写
    名称和参数列表必须相同
    修饰符范围，父类 <= 子类
    public > protected > default(默认) > private
    抛出的异常范围，父类 >= 子类
    */
    public void cx1(){
        System.out.println(this.s1);
    }

    private void test2(){
        System.out.println(this.s2); // 会被子类继承，只不过子类没权限用
    }

    public static void cx2(){
        System.out.println(s3);
    }

    public void fty(){
        System.out.println("父类特有");
    }

    public String getS2() {
        return s2;
    }

    public void setS2(String s2) {
        this.s2 = s2;
    }

}
